package weak_20241227_29.io;

import java.io.*;
import java.util.Arrays;

/**
 * @author zdl
 * @date 2024/12/28
 */
public class Demo10 {
    public static void main(String[] args) throws IOException {
        //10. 编写一个Java程序，读取用户桌面上的"numbers.txt"文件，该文件包含一系列数字，一行一个。程序需要将这些数字排序后，将排序结果保存到新的文件"sorted_numbers.txt"中。
        FileReader fr = new FileReader("D:/test/numbers.txt");
        BufferedReader br = new BufferedReader(fr);
        FileWriter fw = new FileWriter("D:/test/sorted_numbers.txt");
        BufferedWriter bw = new BufferedWriter(fw);
        StringBuilder sb = new StringBuilder(); //定义一个StringBuilder 用于拼接 读取后数据
        String len;
        while ((len = br.readLine()) != null){
            sb.append(len.trim());
        }
        System.out.println(sb);
        char[] charArray = sb.toString().toCharArray(); //将StringBuilder 先转为String 再转为 数组
        Arrays.sort(charArray); //使用数组方法 sort 默认升序排序
        /*for (int i = 0; i < charArray.length-1; i++) {
            for (int j = 0; j < charArray.length - 1 -i; j++) {
                if (charArray[j]> charArray[j+1]){
                    char temp =charArray[j];
                    charArray[j] = charArray[j+1];
                    charArray[j+1] = temp;
                }
            }
        }*/
        System.out.println(Arrays.toString(charArray));
        for (char c : charArray) { //遍历数组
            bw.write(c); //遍历后的元素一个个写入新文件
            bw.newLine(); //换行
        }
        bw.close();
        br.close();
    }
}
